W2 |
您所在的位置:网站首页 › junit 命令行 运行 › W2 |
系列文章目录
W2-1:Maven引入外部依赖——以GSON的使用为例 W2-2:在Maven项目中进行Junit5单元测试 - 环境:IntelliJ IDEA Community Edition 2021.3.2 - 语言:Java 文章目录 系列文章目录前言一、创建Alphabet类二、引入外部依赖三、新建测试四、编写测试代码五、代码覆盖率六、问题及解决总结 前言 单元测试JUnit 一、创建Alphabet类新建一个java类命名为Alphabet。 public class Alphabet { private static boolean isVowel(int c){ return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'; } public static int countVowels(String s){ return (int)s.toLowerCase().chars().filter(Alphabet::isVowel).count(); } } 二、引入外部依赖去mvnrepository获得Junit Jupiter API和Junit Platform Launcher的依赖,加入pom.xml后刷新文件。 这里的Junit Platform Launcher,我用最新的1.8.2版本会报错,换了一个旧版本就好了。 org.junit.jupiter junit-jupiter-api 5.8.2 test org.junit.platform junit-platform-launcher 1.1.0 test 三、新建测试单击选中Alphabet的类名,右键选择Go To->Test,进行测试类的自动创建。 新建测试类时发现没有JUnit5,点击Fix进行外部依赖引入。(这里用其他版本也行,但是不同版本的依赖可能会不一样。) 依赖引入成功后,该新建测试类的窗口如下,勾选要进行测试的方法。 四、编写测试代码 import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class AlphabetTest { @BeforeEach void setUp() { System.out.println("即将进行单元测试..."); } @AfterEach void tearDown() { System.out.println("单元测试已经结束..."); } @Test void countVowels() { assertEquals(2, Alphabet.countVowels("apple")); } }这里使用的assertEquals是一个断言方法,其中第一个参数expected表示预期结果,第二个参数actual表示程序执行的实际结果。 当预期结果与实际结果一致时,则表示单元测试通过: 当预期结果与实际结果不一致时,单元测试失败: @Test void countVowels() { assertEquals(5, Alphabet.countVowels("China")); }五、代码覆盖率 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。 先在Alphabet.java中再添加一个方法,用于代码覆盖率测试: public void uncovered(){ System.out.println("this is an uncovered function..."); }选择Run ‘AlphabetTest’ with Coverage: 在java目录中可以查看类的覆盖率: 在Alphabet.java中可以通过颜色判断代码是否被覆盖。 六、问题及解决 参考资料: IDEA Maven项目利用Junit4进行单元测试问题:对Junit Platform Launcher使用最新版本的依赖,报错:java: 读取…m2\repository\org\junit\platform\junit-platform-launcher\1.8.2\junit-platform-launcher-1.8.2.jar时出错; error in opening zip file。 解决:更换依赖中的jar包版本即可。 总结 本文简单记录了在Maven中进行一次Junit5单元测试的操作过程,内容包含创建Java类、引入外部依赖、新建测试类、编写测试代码、代码覆盖率的步骤,以及操作过程中遇到的问题与其解决方法。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |